#include <pthread.h>
#include <stdio.h>
#include <unistd.h>
#include "StdThread.h"

void *thread_handler(void *arg)
{ 
    // //设置取消状态————设置该线程不可取消
    // pthread_setcancelstate(PTHREAD_CANCEL_DISABLE,NULL);
    //int num = *(int*)arg;
    printf("我是%ld号线程!\n",pthread_self());
    sleep(1);
    //pthread_exit((void*)-1);
}

int main()
{
    Thread* t[10];
    for(int i = 0; i < 10; i++)
    {
        t[i] = InitThread(thread_handler,NULL);
    }

    for(int i = 0; i < 10; i++)
    {
        ThreadJoin(t[i]);
    }
    printf("所有线程执行完毕!\n");
    // pthread_t thread;
    // int num = 10;
    // //创建一个线程——共享局部变量
    // pthread_create(&thread,NULL,thread_handler,&num);
    
    
    // sleep(5);
    // pthread_cancel(thread);
    
    // void* returnValue;
    // pthread_join(thread,&returnValue);
    // printf("子线程正常结束,返回值是%ld\n",(long)returnValue);
    
    

    // // pthread_detach(thread);
    // // while(1);

    return 0;
}